<!--所有 JavaScript 数字均为 64 位浮点型类型-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>菜鸟教程(runoob.com)</title>
	</head>
	<body>

		<p>整数最多为 15 位。</p>
		<button onclick="myFunction()">点我</button>
		<p id="demo1"></p>

		<script>
			function myFunction() {
				var x = 999999999999999;
				var y = 9999999999999999;
				document.getElementById("demo1").innerHTML = x + "<br>" + y;
			}
		</script>

		<script>
			var x;
			document.write("<p>仅显示17位: ");
			x=12345678901234567890;
			document.write(x + "</p>");
			document.write("<p>0.2 + 0.1 = ");
			x=0.2+0.1;
			document.write(x + "</p>");
			document.write("<p>可以通过乘以10或除以10来计算: ");
			x=(0.2*10+0.1*10)/10;
			document.write(x +"</p>");
		</script>

		<script>
			var y = 0377;
			var z = 0xFF; 
			document.write(y + "<br>");
			document.write(z + "<br>");
		</script>

		<!--使用 toString() 方法 输出16进制、8进制、2进制-->
		<script>
			var myNumber = 128;
			document.write(myNumber + ' 十进制<br>');
			document.write(myNumber.toString(16) + ' 十六进制<br>');
			document.write(myNumber.toString(8) + ' 八进制<br>');
			document.write(myNumber.toString(2) + ' 二进制<br>');
		</script>

		<!--无穷大（Infinity）也是一个数字-->
		<script>
			myNumber=2;
			while (myNumber != Infinity){
				myNumber = myNumber*myNumber;
				document.write(myNumber +'<BR>');
			}
		</script>script

		<!--除以0也产生了无限-->
		<script>
			var x = 2/0;
			var y = -2/0;
			document.write(x + "<br>");
			document.write(y + "<br>");
		</script>

		<!--NaN - 非数字值-->
		<p>一个数字除以一个字符串结果不是一个数字</p>
		<p>一个数字除以一个字符串数字结果是一个数字</p>
		<p id="demo2"></p>
		<script>
			var x = 1000 / "Apple";
			var y = 1000 / "1000";
			document.getElementById("demo2").innerHTML = isNaN(x) + "<br>" + isNaN(y);
		</script>

		<!--数字可以是数字或者对象-->
		<p id="demo3"></p>
		<p id="demo4"></p>
		<script>
			var x = 123;              // x 是一个数字
			var y = new Number(123);  // y 是一个对象
			var txt = typeof(x) + " " + typeof(y);
			document.getElementById("demo3").innerHTML=txt;
			document.getElementById("demo4").innerHTML = x===y;
		</script>

	</body>
</html>

<!--
Number 属性:
	Number.MAX_VALUE 最大值
	Number.MIN_VALUE 最大值小值
	Number.NaN 非数字
	Number.NEGATIVE_INFINITY 负无穷，在溢出出时返回
	Number.POSITIVE_INFINITY 正无穷，在溢出时返回
	Number.EPSILON 表示 1 和比最接近 1 且大于 1 的最小 Numberber 之间的差别
	Number.MIN_SAFE_INTEGER 最小安全整数。
	Numberer.MAX_SAFE_INTEGER 最大安全整数。最大安全整数

Number 方法:
	Number.parseFloat() 将字符串转换成浮点数，和全局方法 parseFloat() 作用一致。
	Number.parseInt() 将字符串转换成浮点数串转换成整型数字，和全局方法 parseInt() 作用一致。
	Number.isFinite() 判断传递的参数是否为有限数字。
	Number.isFinitesInteger() 判断传递的参数是否为整数。
	Number.isNaN() 判断传递的参数是否为有限数字断传递的参数是否为 isNaN()。
	Number.isSafeInteger() 判断传递的参数是否为安全整数。

数字类型原型上的一些方法：
	toExponential() 返回一个数字的指数形式的字符串，如：1.23e+2
	toFixed() 返回指定小数位数的表示形式。返回指定小数位数的表示形式
	toPrecision() 返回一个指定精度的数字。返回一个指定精度的数字
-->
